home *** CD-ROM | disk | FTP | other *** search
/ Disc to the Future 2 / Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin / MAC / THINKC / 3_0 / JOVE_4 / JOVEDOCS / JOVE.5 < prev    next >
Text File  |  1988-05-07  |  37KB  |  779 lines

  1. .dc "make-backup-files" "(variable)"
  2. If this variable is set, then whenever \s-2JOVE\s0 writes out a file, it will
  3. move the previous version of the file (if there was one) to "#filename".
  4. This is often convenient if you save a file by accident.  The default
  5. value of this variable is "off".
  6. .IQ Note:
  7. this is an optional part of
  8. \s-2JOVE\s0, and your guru may not have it enabled, so it may not work.
  9. .dc "make-buffer-unmodified" "ESC ~"
  10. This makes \s-2JOVE\s0 think the selected buffer hasn't been changed even if
  11. it has.  Use this when you accidentally change the buffer but don't
  12. want it considered changed.  Watch the mode line to see the * disappear
  13. when you use this command.  
  14. .dc "make-macro-interactive" "Not Bound"
  15. This command is meaningful only while you are defining a keyboard macro,
  16. and when you are in the minibuffer.  Ordinarily, when a command in a macro
  17. definition requires a trailing text argument (file name, search string,
  18. etc.), the argument you supply becomes part of the macro definition.  If
  19. you want to be able to supply a different argument each time the macro is
  20. used, then while you are defining it, you should give the
  21. make-macro-interactive command just before typing the argument which will
  22. be used during the definition process.  Note: you must bind this command
  23. to a key in order to use it; you can't say "ESC X make-macro-interactive".
  24. .dc "mark-threshold" "(variable)"
  25. This variable contains the number of lines point may move by before
  26. the mark is set.  If, in a search or something, point moves by more
  27. than this many lines, the mark is set so that you may return easily.
  28. The default value of this variable is 22 (one screenful, on most
  29. terminals).
  30. .dc "marks-should-float" "(variable)"
  31. When this variable is "off", the position of a mark is remembered as a line
  32. number within the buffer and a character number within the line.  If you add
  33. or delete text before the mark, it will no longer point to the text you
  34. marked originally because that text is no longer at the same line and
  35. character number.  When this variable is "on", the position of a mark is
  36. adjusted to compensate for each insertion and deletion.  This makes marks
  37. much more sensible to use, at the cost of slowing down insertion and
  38. deletion somewhat.  The default value is "on".
  39. .dc "match-regular-expressions" "(variable)"
  40. When set, \s-2JOVE\s0 will match regular expressions in search patterns.
  41. This makes special the characters ., *, [, ], ^, and $, and the two-character
  42. sequences \e<, \e>, \e\|{, \e\|} and \e\||.
  43. See the
  44. .IQ ed(1)
  45. manual page, the tutorial "Advanced Editing in 
  46. .UX
  47. ", and the section above "Searching with Regular Expressions"
  48. for more information.
  49. .dc "meta-key" "(variable)"
  50. You should set this variable to "on" if your terminal has a real Meta key.
  51. If your terminal has such a key, then a key sequence like ESC Y can be
  52. entered by holding down Meta and typing Y.  NOTE:  This disables
  53. interrupting noninteractive shell commands.
  54. .dc "mode-line" "(variable)"
  55. The format of the mode line can be determined by setting this variable.
  56. The items in the line are specified using a printf(3) format, with the
  57. special things being marked as "%x".  Digits may be used between the
  58. '%' and the 'x' to mean repeat that many times.
  59. \&'x' may be:
  60. .DS I
  61. .ta .5i 1i 1.5i
  62.     C    check for new mail, and displays "[New mail]" if there
  63.         is any (see also the mail-check-interval and disable-biff
  64.         variables)
  65.     F    the current file name, with leading path stripped
  66.     M    the current list of major and minor modes
  67.     b    the current buffer name
  68.     c    the fill character (-)
  69.     d    the current directory
  70.     e    end of string--this must be the last item in the string
  71.     f    the current file name
  72.     l    the current load average (updated automatically)
  73.     mxy    x, when the buffer is modified or y, when not
  74.     n    the current buffer number
  75.     s    space, but only if previous character is not a space
  76.     t    the current time (updated automatically)
  77.     [ ]    the square brackets printed when in a recursive edit
  78.     ( )    items enclosed in %( ... %) will only be printed on
  79.         the bottom mode line, rather than copied when the
  80.         window is split
  81. .DE
  82. In addition, any other character is simply copied into the mode line.
  83. Characters may be escaped with a backslash.  To get a feel for all
  84. this, try typing "ESC X print mode-line" and compare the result with
  85. your current mode line.
  86. .dc "mode-line-color" "(variable)"
  87. This specifies the color of the modeline (PC version only).  Its default
  88. value is 0, and in that case it is drawn in reverse video.  If it has any
  89. other value, this value is used as the attribute in the Bios calls.
  90. .dc "mode-line-should-standout" "(variable)"
  91. If set, the mode line will be printed in reverse video, if your
  92. terminal supports it.  The default for this variable is "off".
  93. .dc "name-kbd-macro" "Not Bound"
  94. This copies the keyboard macro and gives it a name freeing up the
  95. keyboard macro so you can define some more.  Keyboard macros with
  96. their own names can be bound to keys just like built in commands
  97. can.  See the
  98. .IQ define-macro,
  99. .IQ source
  100. and
  101. .IQ write-macros-to-file
  102. commands.
  103. .dc "newline" "Return"
  104. This divides the current line at point moving all the text to the
  105. right of point down onto the newly created line.  Point moves down to
  106. the beginning of the new line.
  107. .dc "newline-and-backup" "C-O"
  108. This divides the current line at point moving all the text to the
  109. right of point down onto the newly created line.  The difference
  110. between this and "newline" is that point does not move down to the
  111. beginning of the new line.
  112. .dc "newline-and-indent" "LineFeed"
  113. This behaves the same was as Return does when in Auto Indent mode.
  114. This makes Auto Indent mode obsolete but it remains in the name of
  115. backward compatibility.
  116. .dc "next-error" "C-X C-N"
  117. This moves to the next error in the list of errors that were parsed
  118. with
  119. .IQ parse-errors.
  120. In one window the list of errors is shown with the current one always at
  121. the top.  In another window is the file that contains the error.  Point
  122. is positioned in this window on the line where the error occurred.
  123. .dc "next-line" "C-N"
  124. This moves down to the next line.
  125. .dc "next-page" "C-V"
  126. This displays the next page of the buffer by taking the bottom line of
  127. the window and redrawing the window with it at the top.  If there isn't
  128. another page in the buffer \s-2JOVE\s0 rings the bell.  If a numeric argument
  129. is supplied the screen is scrolled up that many lines; if the argument
  130. is negative the screen is scrolled down.
  131. .dc "next-window" "C-X N"
  132. This moves into the next window.  Windows live in a circular list so
  133. when you're in the bottom window and you try to move to the next one
  134. you are moved to the top window.  It is an error to use this command
  135. with only one window.
  136. .dc "number-lines-in-window" "Not Bound"
  137. This displays the line numbers for each line in the buffer being
  138. displayed.  The number isn't actually part of the text; it's just
  139. printed before the actual buffer line is.  To turn this off you run
  140. the command again; it toggles.
  141. .dc "over-write-mode" "Not Bound"
  142. This turns Over Write mode on (or off if it's currently on) in the selected
  143. buffer.  When on, this mode changes the way the self-inserting characters
  144. work.  Instead of inserting themselves and pushing the rest of the line over
  145. to the right, they replace or over-write the existing character.  Also,
  146. Rubout replaces the character before point with a space instead of deleting
  147. it.  When Over Write mode is on "OvrWt" is displayed on the mode line.
  148. .dc "page-next-window" "ESC C-V"
  149. This displays the next page in the next window.  This is exactly the
  150. same as "C-X N C-V C-X P".
  151. .dc "paren-flash" ") } ]"
  152. This handles the C mode curly brace indentation, the Lisp mode paren
  153. indentation, and the Show Match mode paren/curly brace/square bracket
  154. flashing.
  155. .dc "paren-flash-delay" "(variable)"
  156. How long, in tenths of seconds, \s-2JOVE\s0 should pause on a matching
  157. parenthesis in
  158. .IQ Show Match
  159. mode.  The default is 5.
  160. .dc "parse-errors" "Not Bound"
  161. This takes the list of C compilation errors (or output from another program
  162. in the same format) in the current buffer and parses them for use with the
  163. .IQ next-error
  164. and
  165. .IQ previous-error
  166. and
  167. .IQ current-error
  168. commands.
  169. This is a very useful tool and helps with compiling C programs and when used
  170. in conjunction with the "grep" UNIX command very helpful in making changes
  171. to a bunch of files.  This command understands errors produced by cc, cpp,
  172. and lint; plus any other program with the same format (e.g., "grep -n").
  173. \s-2JOVE\s0 visits each file that has an error and remembers each line that
  174. contains an error.  It doesn't matter if later you insert or delete
  175. some lines in the buffers containing errors; \s-2JOVE\s0 remembers where
  176. they are regardless.
  177. .IQ current-error
  178. is automatically executed after one of the parse commands, so you end up
  179. at the first error.  See also
  180. .IQ error-format-string
  181. to make it possible to parse errors of a different format.
  182. .dc "parse-spelling-errors-in-buffer" "Not Bound"
  183. This parses a list of words in the current buffer and looks them up in
  184. another buffer that you specify.  This will probably go away soon.
  185. .dc "pause-jove" "ESC S"
  186. This stops \s-2JOVE\s0 and returns control to the parent shell.  This
  187. only works for users using the C-shell, and on systems that have the
  188. job control facility.  To return to \s-2JOVE\s0 you type "fg" to the C-shell.
  189. .dc "physical-tabstop" "(variable)"
  190. How many spaces your terminal prints when it prints a tab character.
  191. .dc "pop-mark" "Not Bound"
  192. This gets executed when you run
  193. .IQ set-mark
  194. with a numeric argument.
  195. \s-2JOVE\s0 remembers the last 16 marks and you use
  196. .IQ pop-mark
  197. to go
  198. backward through the ring of marks.  If you execute
  199. .IQ pop-mark
  200. enough
  201. times you will eventually get back to where you started.
  202. .dc "popd" "Not Bound"
  203. This pops one entry off the directory stack.  Entries are pushed with
  204. the
  205. .IQ pushd
  206. command.  The names were stolen from the C-shell and the
  207. behavior is the same.
  208. .dc "previous-error" "C-X C-P"
  209. This is the same as
  210. .IQ next-error
  211. except it goes to the previous error.
  212. See
  213. .IQ next-error
  214. for documentation.
  215. .dc "previous-line" "C-P"
  216. This moves up to the previous line.
  217. .dc "previous-page" "ESC V"
  218. This displays the previous page of the current buffer by taking the top
  219. line and redrawing the window with it at the bottom.  If a numeric
  220. argument is supplied the screen is scrolled down that many lines; if
  221. the argument is negative the screen is scrolled up.
  222. .dc "previous-window" "C-X P and C-X O"
  223. This moves into the next window.  Windows live in a circular list so
  224. when you're in the top window and you try to move to the previous one
  225. you are moved to the bottom window.  It is an error to use this command
  226. with only one window.
  227. .dc "print" "Not Bound"
  228. This prints the value of a \s-2JOVE\s0 variable.
  229. .dc "process-bind-to-key" "Not Bound"
  230. This command is identical to bind-to-key, except that it only affects
  231. your bindings when you are in a buffer attached to a process.  When
  232. you enter the process buffer, any keys bound with this command will
  233. automatically take their new values.  When you switch to a non-process
  234. buffer, the old bindings for those keys will be restored.  For example,
  235. you might want to execute
  236. .DS I
  237. process-bind-to-key stop-process ^Z
  238. process-bind-to-key interrupt-process ^C
  239. .DE
  240. Then, when you start up an interactive process and switch into that
  241. buffer, C-Z will execute stop-process and C-C will execute interrupt-
  242. process.  When you switch back to a non-process buffer, C-Z will go
  243. back to executing scroll-up (or whatever you have it bound to).
  244. .dc "process-newline" "Return"
  245. This this only gets executed when in a buffer that is attached to an
  246. interactive-process.  \s-2JOVE\s0 does two different things depending on where
  247. you are when you hit Return.  When you're at the end of the I-Process
  248. buffer this does what Return normally does, except it also makes the
  249. line available to the process.  When point is positioned at some other
  250. position that line is copied to the end of the buffer (with the prompt
  251. stripped) and point is moved there with it, so you can then edit that
  252. line before sending it to the process.  This command
  253. .IQ must
  254. be bound
  255. to the key you usually use to enter shell commands (Return), or else
  256. you won't be able to enter any.
  257. .dc "process-prompt" (variable)
  258. What a prompt looks like from the shell and i-shell-command
  259. processes.  The default is "% ", the default C-shell prompt.  This is
  260. actually a regular expression search string.  So you can set it to be
  261. more than one thing at once using the \\| operator.  For instance, for
  262. LISP hackers, the prompt can be
  263. .DS
  264. "% \\|-> \\|<[0-9]>: ".
  265. .DE
  266. .dc "process-send-data-no-return" "Not Bound"
  267. This is like
  268. .IQ process-newline
  269. except it sends everything to the process without the newline.  Normally,
  270. when you type return in a process buffer it sends everything you typed
  271. including the Return.  This command just provides a way to send data to
  272. the process without having to send a newline as well.
  273. .dc "push-shell" "Not Bound"
  274. This spawns a child shell and relinquishes control to it.  This works
  275. on any version of UNIX, but this isn't as good as
  276. .IQ pause-jove
  277. because
  278. it takes time to start up the new shell and you get a brand new
  279. environment every time.  To return to \s-2JOVE\s0 you type "C-D".
  280. .dc "pushd" "Not Bound"
  281. This pushes a directory onto the directory stack and cd's into it.  It
  282. asks for the directory name but if you don't specify one it switches
  283. the top two entries no the stack.  It purposely behaves the same as
  284. C-shell's
  285. .IQ pushd.
  286. .dc "pwd" "Not Bound"
  287. This prints the working directory.
  288. .dc "query-replace-string" "ESC Q"
  289. This replaces the occurrences of a specified string with a specified
  290. replacement string.  When an occurrence is found point is moved to it
  291. and then \s-2JOVE\s0 asks what to do.  The options are:
  292. .DS I
  293. .ta \w'Rubout111'u
  294. Space    to replace this occurrence and go on to the next one.
  295. Period    to replace this occurrence and then stop.
  296. Rubout    to skip this occurrence and go on to the next one.
  297. C-R    to enter a recursive edit.  This lets you temporarily
  298.     suspend the replace, do some editing, and then return
  299.     to continue where you left off.  To continue with the
  300.     Query Replace type "C-X C-C" as if you were trying to
  301.     exit \s-2JOVE\s0.  Normally you would but when you are in a
  302.     recursive edit all it does is exit that recursive
  303.     editing level.
  304. C-W    to delete the matched string and then enter a recursive
  305.     edit.
  306. U    to undo the last replacement.
  307. P or !    to go ahead and replace the remaining occurrences without
  308.     asking.
  309. Return    to stop the Query Replace.
  310. .DE
  311. The search for occurrences starts at point and goes to the end of the
  312. buffer, so to replace in the entire buffer you must first go to the
  313. beginning.
  314. .dc "quit-process" "Not Bound"
  315. This is the same as typing "C-\\" (the Quit character) to a normal UNIX
  316. process, except it sends it to the current process in \s-2JOVE\s0.  This is
  317. only for versions of \s-2JOVE\s0 that have the interactive processes feature.
  318. This only works when you are inside a buffer that's attached to a
  319. process.
  320. .dc "quoted-insert" "C-Q"
  321. This lets you insert characters that normally would be executed as
  322. other \s-2JOVE\s0 commands.  For example, to insert "C-F" you type "C-Q C-F".
  323. .dc "read-word-abbrev-file" "Not Bound"
  324. This reads a specified file that contains a bunch of abbreviation
  325. definitions, and makes those abbreviations available.  If the selected
  326. buffer is not already in Word Abbrev mode this command puts it in
  327. that mode.
  328. .dc "recursive-edit" "Not Bound"
  329. This enters a recursive editing level.  This isn't really very
  330. useful.  I don't know why it's available for public use.  I think I'll
  331. delete it some day.
  332. .dc "redraw-display" "C-L"
  333. This centers the line containing point in the window.  If that line is
  334. already in the middle the window is first cleared and then redrawn.
  335. If a numeric argument is supplied, the line is positioned at that
  336. offset from the top of the window.  For example, "ESC 0 C-L" positions
  337. the line containing point at the top of the window.
  338. .dc "rename-buffer" "Not Bound"
  339. This lets you rename the current buffer.
  340. .dc "replace-in-region" "Not Bound"
  341. This is the same as
  342. .IQ replace-string
  343. except that it is restricted
  344. to occurrences between Point and Mark.
  345. .dc "replace-string" "ESC R"
  346. This replaces all occurrences of a specified string with a specified
  347. replacement string.  This is just like
  348. .IQ query-replace-string
  349. except
  350. it replaces without asking.
  351. .dc "right-margin" "(variable)"
  352. Where the right margin is for
  353. .IQ "Auto Fill"
  354. mode and the
  355. .IQ justify-paragraph
  356. and
  357. .IQ justify-region
  358. commands.  The default is 78.
  359. .dc "right-margin-here" "Not Bound"
  360. This sets the
  361. .IQ right-margin
  362. variable to the current position of
  363. point.  This is an easy way to say, "Make the right margin begin here,"
  364. without having to count the number of spaces over it actually is.
  365. .dc "save-file" "C-X C-S"
  366. This saves the current buffer to the associated file.  This makes your
  367. changes permanent so you should be sure you really want to.  If the
  368. buffer has not been modified
  369. .IQ save-file
  370. refuses to do the save.  If
  371. you really do want to write the file you can use "C-X C-W" which
  372. executes
  373. .IQ write-file.
  374. .dc "scroll-all-lines" "(variable)"
  375. When this is turned on, the entire window will be scrolled left or right
  376. when the current line scrolls.  The default value is OFF, which will
  377. cause \s-2JOVE\s0 to behave in the familiar way, namely to scroll only
  378. the current line.
  379. .dc "scroll-down" "ESC Z"
  380. This scrolls the screen one line down.  If the line containing point
  381. moves past the bottom of the window point is moved up to the center of
  382. the window.  If a numeric argument is supplied that many lines are
  383. scrolled; if the argument is negative the screen is scrolled up
  384. instead.
  385. .dc "scroll-left" "Not Bound"
  386. This scrolls the text in the current window 10 character positions to the
  387. left.  If a numeric argument is specified then the text is scrolled that
  388. number of character positions.  If the variable
  389. .IQ scroll-all-lines
  390. is ON then
  391. .IQ scroll-left
  392. may actually do nothing if the scrolling would cause Point not to be
  393. visible.
  394. .dc "scroll-next-page" "Not Bound"
  395. This continuously scrolls up screen-full lines (PC version only).
  396. .dc "scroll-previous-page" "Not Bound"
  397. This continuously scrolls down screen-full lines (PC version only).
  398. .dc "scroll-right" "Not Bound"
  399. This scrolls the text in the current window 10 character positions to the
  400. right.  If a numeric argument is specified then the text is scrolled that
  401. number of character positions.  If the variable
  402. .IQ scroll-all-lines
  403. is ON then
  404. .IQ scroll-right
  405. may actually do nothing if the scrolling would cause Point not to be
  406. visible.
  407. .dc "scroll-step" "(variable)"
  408. How many lines should be scrolled if the
  409. .IQ previous-line
  410. or
  411. .IQ next-line
  412. commands move you off the top or bottom of the screen.  You may wish to
  413. decrease this variable if you are on a slow terminal.  The default value
  414. is 0, which means to center the current line in the window.  If the value
  415. is negative, the behavior is slightly different.  If you move off the top
  416. of the window, and
  417. .IQ scroll-step
  418. is, say, -5 then the new line will be displayed 5 lines from the bottom
  419. of the window.  If you move off the bottom of the window, the new line
  420. will be positioned 5 lines from the top of the window.
  421. .dc "scroll-up" "C-Z"
  422. This scrolls the screen one line up.  If the line containing point
  423. moves past the top of the window point is moved down to the center of
  424. the window.  If a numeric argument is supplied that many lines are
  425. scrolled; if the argument is negative the screen is scrolled down
  426. instead.
  427. .dc "search-exit-char" "(variable)"
  428. Set this to the character you want to use to exit incremental search.
  429. The default is Newline, which makes i-search compatible with normal
  430. string search.
  431. .dc "search-forward" "C-S"
  432. This searches forward for a specified search string and positions
  433. point at the end of the string if it's found.  If the string is not
  434. found point remains unchanged.  This searches from point to the end of
  435. the buffer, so any matches before point will be missed.
  436. .dc "search-forward-nd" "Not Bound"
  437. This is just like
  438. .IQ search-forward
  439. except that it doesn't assume a default search string, and it doesn't set
  440. the default search string.  This is useful for defining macros, when you
  441. want to search for something, but you don't want it to affect the current
  442. default search string.
  443. .dc "search-reverse" "C-R"
  444. This searches backward for a specified search string and positions
  445. point at the beginning if the string if it's found.  If the string is
  446. not found point remains unchanged.  This searches from point to the
  447. beginning of the buffer, so any matches after point will be missed.
  448. .dc "search-reverse-nd" "Not Bound"
  449. This is just like
  450. .IQ search-reverse
  451. except that it doesn't assume a default search string, and it doesn't set
  452. the default search string.  This is useful for defining macros, when you
  453. want to search for something, but you don't want it to affect the current
  454. default search string.
  455. .dc "select-buffer" "C-X B"
  456. This selects a new or already existing buffer making it the current
  457. one.  You can type either the buffer name or number.  If you type in
  458. the name you need only type the name until it is unambiguous, at which
  459. point typing Escape or Space will complete it for you.  If you want to
  460. create a new buffer you can type Return instead of Space, and a new
  461. empty buffer will be created.
  462. .dc "select-buffer-1" "<Alt>-1"
  463. This selects buffer number 1, if it exists (PC version only).
  464. .dc "select-buffer-2" "<Alt>-2"
  465. This selects buffer number 2, if it exists (PC version only).
  466. .dc "select-buffer-3" "<Alt>-3"
  467. This selects buffer number 3, if it exists (PC version only).
  468. .dc "select-buffer-4" "<Alt>-4"
  469. This selects buffer number 4, if it exists (PC version only).
  470. .dc "select-buffer-5" "<Alt>-5"
  471. This selects buffer number 5, if it exists (PC version only).
  472. .dc "select-buffer-6" "<Alt>-6"
  473. This selects buffer number 6, if it exists (PC version only).
  474. .dc "select-buffer-7" "<Alt>-7"
  475. This selects buffer number 7, if it exists (PC version only).
  476. .dc "select-buffer-8" "<Alt>-8"
  477. This selects buffer number 8, if it exists (PC version only).
  478. .dc "select-buffer-9" "<Alt>-9"
  479. This selects buffer number 9, if it exists (PC version only).
  480. .dc "self-insert" "Most Printing Characters"
  481. This inserts the character that invoked it into the buffer at point.
  482. Initially all but a few of the printing characters are bound to
  483. .IQ self-insert.
  484. .dc "send-typeout-to-buffer" "(variable)"
  485. When this is set \s-2JOVE\s0 will send output that normally overwrites the
  486. screen (temporarily) to a buffer instead.  This affects commands like
  487. .IQ list-buffers,
  488. .IQ list-processes,
  489. and commands that use completion.  The default value is "off".
  490. .dc "set" "Not Bound"
  491. This gives a specified variable a new value.  Occasionally you'll see
  492. lines like "set this variable to that value to do this".  Well, you
  493. use the
  494. .IQ set
  495. command to do that.
  496. .dc "set-mark" "C-@"
  497. This sets the mark at the current position in the buffer.  It prints
  498. the message "Point pushed" on the message line.  It says that instead
  499. of "Mark set" because when you set the mark the previous mark is still
  500. remembered on a ring of 16 marks.  So "Point pushed" means point is
  501. pushed onto the ring of marks and becomes the value of "the mark".
  502. To go through the ring of marks you type "C-U C-@", or execute the
  503. .IQ pop-mark
  504. command.  If you type this enough times you will get back
  505. to where you started.
  506. .dc "shell" "(variable)"
  507. The shell to be used with all the shell commands command.  If your SHELL
  508. environment variable is set, it is used as the value of
  509. .IQ shell;
  510. otherwise "/bin/csh" is the default.
  511. .dc "shell" "Not Bound"
  512. This starts up an interactive shell in a window.  \s-2JOVE\s0 uses
  513. "*shell*" as the name of the buffer in which the interacting takes
  514. place.  See the manual for information on how to use interactive
  515. processes.
  516. .dc "shell-command" "C-X !"
  517. This runs a UNIX command and places the output from that command in a
  518. buffer.  \s-2JOVE\s0 creates a buffer that matches the name of the command
  519. you specify and then attaches that buffer to a window.  So, when you
  520. have only one window running this command will cause \s-2JOVE\s0 to split the
  521. window and attach the new buffer to that window.  Otherwise, \s-2JOVE\s0
  522. finds the most convenient of the available windows and uses that one
  523. instead.  If the buffer already exists it is first emptied, except that if
  524. it's holding a file, not some output from a previous command, \s-2JOVE\s0
  525. prints an error message and refuses to execute the command.  If you
  526. really want to execute the command you should delete that buffer
  527. (saving it first, if you like) or use
  528. .IQ shell-command-to-buffer,
  529. and
  530. try again.
  531. .dc "shell-command-no-buffer" "Not Bound"
  532. This is just like
  533. .IQ shell-command
  534. except it just runs the command without saving the output to any buffer.
  535. It will report the success of the command in the usual way.
  536. .dc "shell-command-to-buffer" "Not Bound"
  537. This is just like
  538. .IQ shell-command
  539. except it lets you specify the
  540. buffer to use instead of \s-2JOVE\s0.
  541. .dc "shell-command-with-typeout" "Not Bound"
  542. This is just like
  543. .IQ shell-command
  544. except that instead of saving the output to a buffer, and displaying
  545. it in a window, this just types out the output in the same way that
  546. .IQ list-buffers
  547. does.  Actually, how this behaves depends on the value of the variable
  548. .IQ send-typeout-to-buffer.
  549. If it is on then shell-command-with-typeout will behave just like
  550. .IQ shell-command.
  551. .dc "shell-flags" "(variable)"
  552. This defines the flags that are passed to shell commands.  The default is
  553. "-c".  See the
  554. .IQ shell
  555. variable to change the default shell.
  556. .dc "show-match-mode" "Not Bound"
  557. This turns on Show Match mode (or off if it's currently on) in the
  558. selected buffer.  This changes "}" and ")" so that when they are typed
  559. the are inserted as usual, and then the cursor flashes back to the
  560. matching "{" or "(" (depending on what was typed) for about half a
  561. second, and then goes back to just after the "}" or ")" that invoked
  562. the command.  This is useful for typing in complicated expressions in
  563. a program.  You can change how long the cursor sits on the matching
  564. paren by setting the "paren-flash-delay" variable in tenths of a
  565. second.  If the matching "{" or "(" isn't visible nothing happens.
  566. .dc "shrink-window" "Not Bound"
  567. This makes the current window one line shorter, if possible.  Windows
  568. must be at least 2 lines high, one for the text and the other for the
  569. mode line.
  570. .dc "source" "Not Bound"
  571. This reads a bunch of \s-2JOVE\s0 commands from a file.  The format of the
  572. file is the same as that in your initialization file (your ".joverc")
  573. in your main directory.  There should be one command per line and it
  574. should be as though you typed "ESC X" while in \s-2JOVE\s0.  For example,
  575. here's part of my initialization file:
  576. .DS I
  577. bind-to-key i-search-reverse ^R
  578. bind-to-key i-search-forward ^S
  579. bind-to-key pause-jove ^[S
  580. .DE
  581. What they do is make "C-R" call the
  582. .IQ i-search-reverse
  583. command and
  584. "C-S" call
  585. .IQ i-search-forward
  586. and "ESC S" call
  587. .IQ pause-jove.
  588. .dc "spell-buffer" "Not Bound"
  589. This runs the current buffer through the UNIX
  590. .IQ spell
  591. program and places
  592. the output in buffer "Spell".  Then \s-2JOVE\s0 lets you edit the list of
  593. words, expecting you to delete the ones that you don't care about, i.e., the
  594. ones you know are spelled correctly.  Then the
  595. .IQ parse-spelling-errors-in-buffer
  596. command comes along and finds all the
  597. misspelled words and sets things up so the error commands work.
  598. .dc "split-current-window" "C-X 2"
  599. This splits the current window into two equal parts (providing the
  600. resulting windows would be big enough) and displays the selected buffer
  601. in both windows.  Use "C-X 1" to go back to 1 window mode.  If a numeric
  602. argument is supplied, the window is split "evenly" that many times (when
  603. possible).
  604. .dc "start-remembering" "C-X ("
  605. This is just another name for the
  606. .IQ begin-kbd-macro
  607. name.  It is included for backward compatibility.
  608. .dc "stop-remembering" "C-X )"
  609. This is just another name for the
  610. .IQ end-kbd-macro
  611. command.  It is included for backward compatibility.
  612. .dc "stop-process" "Not Bound"
  613. This sends a stop signal (C-Z, for most people) to the current process.
  614. It only works if you have the interactive process feature, and you are
  615. in a buffer attached to a process.
  616. .dc "string-length" "Not Bound"
  617. This prints the number of characters in the string that point sits in.
  618. Strings are surrounded by double quotes.  \s-2JOVE\s0 knows that "\\007" is
  619. considered a single character, namely "C-G", and also knows about
  620. other common ones, like "\\r" (Return) and "\\n" (LineFeed).  This is
  621. mostly useful only for C programmers.
  622. .dc "suspend-jove" "ESC S"
  623. This is a synonym for
  624. .IQ pause-jove.
  625. .dc "sync-frequency" "(variable)"
  626. The temporary files used by \s-2JOVE\s0 are forced out to disk every
  627. .IQ sync-frequency
  628. modifications.  The default is 50, which really makes
  629. good sense.  Unless your system is very unstable, you probably
  630. shouldn't fool with this.
  631. .dc "tag-file" "(variable)"
  632. This the name of the file in which \s-2JOVE\s0 should look up tag
  633. definitions.  The default value is "./tags".
  634. .dc "text-mode" "Not Bound"
  635. This sets the major mode to Text.  Currently the other modes are
  636. Fundamental, C and Lisp mode.
  637. .dc "tmp-file-pathname" "(variable)"
  638. This tells JOVE where to put the tmp files, which is where JOVE stores
  639. buffers internally.  The default is usually in /tmp, but if you want to
  640. store them somewhere else, you can set this variable.  If your system
  641. crashes a lot it might be a good idea to set this variable to somewhere
  642. other than /tmp because the system removes all the files in /tmp upon
  643. reboot, and so you would not be able to recover editor buffers using the
  644. "jove -r" command.
  645.  
  646. NOTE: In order for this to work correctly you must set this variable
  647. BEFORE JOVE creates the tmp file.  You can set this in your .joverc (the
  648. closer to tbe beginning the better), or as soon as you start up JOVE
  649. before you visit any files.
  650. .dc "transpose-characters" "C-T"
  651. This switches the character before point with the one after point, and
  652. then moves forward one.  This doesn't work at the beginning of the
  653. line, and at the end of the line it switches the two characters before
  654. point.  Since point is moved forward, so that the character that was
  655. before point is still before point, you can use "C-T" to drag a
  656. character down the length of a line.  This command pretty quickly
  657. becomes very useful.
  658. .dc "transpose-lines" "C-X C-T"
  659. This switches the current line with the one above it, and then moves
  660. down one so that the line that was above point is still above point.
  661. This, like
  662. .IQ transpose-characters,
  663. can be used to drag a line down a page.
  664. .dc "unbind-key" "Not Bound"
  665. Use this to unbind
  666. .IQ any
  667. key sequence.  You can use this to unbind even a
  668. prefix command, since this command does not use "key-map completion".  For
  669. example, "ESC X unbind-key ESC [" unbinds the sequence "ESC [".  This is
  670. useful for "turning off" something set in the system-wide ".joverc" file.
  671. .dc "update-time-frequency" "(variable)"
  672. How often the mode line is updated (and thus the time and load
  673. average, if you display them).  The default is 30 seconds.
  674. .dc "use-i/d-char" "(variable)"
  675. If your terminal has insert/delete character capability you can tell \s-2JOVE\s0
  676. not to use it by setting this to "off".  In my opinion it is only worth using
  677. insert/delete character at low baud rates.  WARNING: if you set this to
  678. "on" when your terminal doesn't have insert/delete character capability,
  679. you will get weird (perhaps fatal) results.
  680. .dc "version" "Not Bound"
  681. Displays the version number of this \s-2JOVE\s0.
  682. .dc "visible-bell" "(variable)"
  683. Use the terminal's visible bell instead of beeping.  This is set
  684. automatically if your terminal has the capability.
  685. .dc "visible-spaces-in-window" "Not Bound"
  686. This displays an underscore character instead of each space in the
  687. window and displays a greater-than followed by spaces for each tab
  688. in the window.  The actual text in the buffer is not changed; only
  689. the screen display is affected.  To turn this off you run the command
  690. again; it toggles.
  691. .dc "visit-file" "C-X C-V"
  692. This reads a specified file into the current buffer replacing the old
  693. text.  If the buffer needs saving \s-2JOVE\s0 will offer to save it for you.
  694. Sometimes you use this to start over, say if you make lots of changes
  695. and then change your mind.  If that's the case you don't want \s-2JOVE\s0 to
  696. save your buffer and you answer "NO" to the question.
  697. .dc "window-find" "C-X 4"
  698. This lets you select another buffer in another window three
  699. different ways.  This waits for another character which can be one of
  700. the following:
  701. .DS I
  702. .ta .5i 1i 1.5i
  703. T    Finds a tag in the other window.
  704. F    Finds a file in the other window.
  705. B    Selects a buffer in the other window.
  706. .DE
  707. This is just a convenient short hand for "C-X 2" (or "C-X O" if there are
  708. already two windows) followed by the appropriate sequence for invoking each
  709. command.  With this, though, there isn't the extra overhead of having to
  710. redisplay.  In addition, you don't have to decide whether to type "C-X 2" or
  711. "C-X O" since "C-X 4" does the right thing.
  712. .dc "word-abbrev-mode" "Not Bound"
  713. This turns on Word Abbrev mode (or off if it's currently on) in the
  714. selected buffer.  Word Abbrev mode lets you specify a word (an
  715. abbreviation) and a phrase with which \s-2JOVE\s0 should substitute the
  716. abbreviation.  You can use this to define words to expand into long
  717. phrases, e.g., "jove" can expand into "Jonathan's Own Version of
  718. Emacs"; another common use is defining words that you often misspell
  719. in the same way, e.g., "thier" => "their" or "teh" => "the".  See
  720. the information on the
  721. .IQ auto-case-abbrev
  722. variable.
  723. .sp 1
  724. There are two kinds of abbreviations: mode specific and global.  If you
  725. define a Mode specific abbreviation in C mode, it will expand only in
  726. buffers that are in C mode.  This is so you can have the same
  727. abbreviation expand to different things depending on your context.
  728. Global abbreviations expand regardless of the major mode of the buffer.
  729. The way it works is this: \s-2JOVE\s0 looks first in the mode specific
  730. table, and then in the global table.  Whichever it finds it in first is
  731. the one that's used in the expansion.  If it doesn't find the word it is
  732. left untouched. \s-2JOVE\s0 tries to expand words as they are typed, when
  733. you type a punctuation character or Space or Return.  If you are in Auto
  734. Fill mode the expansion will be filled as if you typed it yourself.
  735. .dc "wrap-search" "(variable)"
  736. If set, searches will "wrap around" the ends of the buffer instead
  737. of stopping at the bottom or top.  The default is "off".
  738. .dc "write-file" "C-X C-W"
  739. This saves the current buffer to a specified file, and then makes that
  740. file the default file name for this buffer.  If you specify a file
  741. that already exists you are asked to confirm over-writing it.
  742. .dc "write-files-on-make" "(variable)"
  743. When set, all modified files will be written out before calling
  744. make when the
  745. .IQ compile-it
  746. command is executed.  The default is "on".
  747. .dc "write-macros-to-file" "Not Bound"
  748. This writes the currently defined macros to a specified file in a format
  749. appropriate for reading them back in with the
  750. .IQ source
  751. command.  The purpose of this command is to allow you to define macros
  752. once and use them in other instances of JOVE.
  753. .dc "write-modified-files" "C-X C-M"
  754. This saves all the buffers that need saving.  If you supply a numeric
  755. argument it asks for each buffer whether you really want to save it.
  756. .dc "write-region" "Not Bound"
  757. This writes the text in the region to a specified file.  If the file
  758. already exists you are asked to confirm over-writing it.
  759. .dc "write-word-abbrev-file" "Not Bound"
  760. This writes the currently defined abbreviations to a specified file.
  761. They can be read back in and automatically defined with
  762. .IQ read-word-abbrev-file.
  763. .dc "yank" "C-Y"
  764. This undoes the last kill command.  That is, it inserts the killed
  765. text at point.  When you do multiple kill commands in a row, they are
  766. merged so that yanking them back with "C\-Y" yanks back all of them.
  767. .dc "yank-pop" "ESC Y"
  768. This yanks back previous killed text.  \s-2JOVE\s0 has a kill ring on which
  769. the last 10 kills are stored.
  770. .IQ yank
  771. yanks a copy of the text at the
  772. front of the ring.  If you want one of the last ten kills you use "ESC
  773. Y" which rotates the ring so another different entry is now at the
  774. front.  You can use "ESC Y" only immediately following a "C-Y" or
  775. another "ESC Y".  If you supply a negative numeric argument the ring
  776. is rotated the other way.  If you use this command enough times in a
  777. row you will eventually get back to where you started.  Experiment
  778. with this.  It's extremely useful.
  779.